<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div id="box"></div>
</body>
<script src="../js/react.development.js"></script>
<script src="../js/react-dom.development.js"></script>
<script src="../js/babel.min.js"></script>
<script src="../js/prop-types.js"></script>

<script type="text/babel">

    
    class MyComponent extends React.Component{
        state = {
            weather: 'isHot'
        }
        render(){
            const { name, age, grade } = this.props;
            return (
                <ul>
                    <li>{name}</li>
                    <li>{age}</li>
                    <li>{grade}</li>
                </ul>
            )
        }
    }

    MyComponent.propTypes = {
        name : PropTypes.string.isRequired,
        age : PropTypes.number,
        grade : PropTypes.number,
    }

    MyComponent.defaultProps = {
        name : '陶贼帅'
    }

    const obj = {
        name: '帅哥',
        age: 22,
        grade: 80
    }

    let app = (
        <div>
            <MyComponent  age={20} grade={90}></MyComponent>
            <MyComponent name='帅波' age={25} grade={90}></MyComponent>
            <MyComponent { ...obj }></MyComponent>
        </div>
    )

    ReactDOM.render( app, document.getElementById('box') );

</script>
</html>